Scalable hierarchical data-driven navigation system and method for information retrieval

ABSTRACT

A data-driven, hierarchical information navigation system and method enable search of sets of documents or other materials by certain common attributes that characterize the materials. The invention includes several aspects of a data-driven, hierarchical navigation system that employs this navigation mode. The navigation system of the present invention includes features of an interface, a knowledge base and a taxonomy definition process and a classification process for generating the knowledge base, a graph-based navigable data structure and method for generating the data structure, World Wide Web-based applications of the system, and methods of implementing the system. Users are able to search or browse a particular collection of documents by selecting desired values for the attributes. A data-driven, hierarchical information navigation system and method enable this navigation mode by associating terms with the materials, defining a set of hierarchical relationships among the terms, and providing a guided search mechanism based on the relationship between the terms. In another aspect of the invention, implementations of the invention may be scalable through parallel or distributed computation. Implementations of the invention may employ master and slave servers in a hierarchical configuration.

[0001] This application is a continuation-in-part of application Ser.No. 09/573,305, entitled “Hierarchical Data-Driven Navigation System andMethod for Information Retrieval,” filed May 18, 2000, and incorporatedherein by this reference.

FIELD OF THE INVENTION

[0002] The present invention generally relates to information navigationsystems and search engines.

BACKGROUND OF THE INVENTION

[0003] Information retrieval from a database of information is anincreasingly challenging problem, particularly on the World Wide Web(WWW), as increased computing power and networking infrastructure allowthe aggregation of large amounts of information and widespread access tothat information. A goal of the information retrieval process is toallow the identification of materials of interest to users.

[0004] As the number of materials that users may search increases,identifying materials relevant to the search becomes increasinglyimportant, but also increasingly difficult. Challenges posed by theinformation retrieval process include providing an intuitive, flexibleuser interface and completely and accurately identifying materialsrelevant to the user's needs within a reasonable amount of time. Anotherchallenge is to provide an implementation of this user interface that ishighly scalable, so that it can readily be applied to the increasingamounts of information and demands to access that information. Theinformation retrieval process comprehends two interrelated technicalaspects, namely, information organization and access.

[0005] Current information navigation systems usually follow one ofthree paradigms. One type of information navigation system employs adatabase query system. In a typical database query system, a userformulates a structured query by specifying values for fixed datafields, and the system enumerates the documents whose data fieldscontain those values. PriceSCAN.com uses such an interface, for example.Generally, a database query system presents users with a form-basedinterface, converts the form input into a query in a formal databaselanguage, such as SQL, and then executes the query on a relationaldatabase management system. Disadvantages of typical query-based systemsinclude that they allow users to make queries that return no documentsand that they offer query modification options that lead only to furtherrestriction of the result set (the documents that correspond to theuser's search specifications), rather than to expansion or extension ofthe result set. In addition, database query systems typically exhibitpoor performance for large data sets or heavy access loads; they areoften optimized for processing transactions rather than queries.

[0006] A second type of information navigation system is a free-textsearch engine. In a typical free-text search engine, the user enters anarbitrary text string, often in the form of a Boolean expression, andthe system responds by enumerating the documents that contain matchingtext. Google.com, for example, includes a free-text search engine.Generally a free-text search engine presents users with a search form,often a single line, and processes queries using a precomputed index.Generally this index associates each document with a large portion ofthe words contained in that document, without substantive considerationof the document's content. Accordingly, the result set is often avoluminous, disorganized list that mixes relevant and irrelevantdocuments. Although variations have been developed that attempt todetermine the objective of the user's query and to provide relevancerankings to the result set or to otherwise narrow or organize the resultset, these systems are limited and unreliable in achieving theseobjectives.

[0007] A third type of information navigation system is a tree-baseddirectory. In a tree based directory, the user generally starts at theroot node of the tree and specifies a query by successively selectingrefining branches that lead to other nodes in the tree.Shopping.yahoo.com uses a tree-based directory, for example. In atypical implementation, the hard-coded tree is stored in a datastructure, and the same or another data structure maps documents to thenode or nodes of the tree where they are located. A particular documentis typically accessible from only one or, at most, a few, paths throughthe tree. The collection of navigation states is relatively static—whiledocuments are commonly added to nodes in the directory, the structure ofthe directory typically remains the same. In a pure tree-baseddirectory, the directory nodes are arranged such that there is a singleroot node from which all users start, and every other directory node canonly be reached via a unique sequence of branches that the user selectsfrom the root node. Such a directory imposes the limitation that thebranches of the tree must be navigationally disjoint—even though the waythat documents are assigned to the disjoint branches may not beintuitive to users. It is possible to address this rigidity by addingadditional links to convert the tree to a directed acyclic graph.Updating the directory structure remains a difficult task, and leafnodes are especially prone to end up with large numbers of correspondingdocuments.

[0008] In all of these types of navigation systems, it may be difficultfor a user to revise a query effectively after viewing its result set.In a database query system, users can add or remove terms from thequery, but it is generally difficult for users to avoid underspecifiedqueries (i.e. too many results) or overspecified queries (i.e. noresults). The same problem arises in free-text search engines. Intree-based directories, the only means for users to revise a query iseither to narrow it by selecting a branch or to generalize it by backingup to a previous branch.

[0009] Having an effective means of revising queries is useful in partbecause users often do not know exactly what they are looking for. Evenusers who do know what they are looking for may not be able to expresstheir search criteria precisely. And the state of the art in searchtechnology cannot guarantee that even a precisely stated query will beinterpreted as intended by the user. Indeed, it is unlikely that aperfect means for formation of a query even exists in theory. As aresult, it is helpful that the information retrieval process be adialogue with interactive responses between the user and the informationretrieval system. This dialogue model may be more effectivelyimplemented with an effective query revision process.

[0010] Various other systems for information retrieval are alsoavailable. For example. U.S. Pat. Nos. 5,715,444 and 5,983,219 to Danishet al., both entitled “Method and System for Executing a GuidedParametric Search,” disclose an interface for identifying a single itemfrom a family of items. The interface provides users with a set of listsof features present in the family of items and identifies items thatsatisfy selected features. Other navigation systems include i411'sDiscovery Engine, Cybrant's Information Engine, Mercado's IntuiFind, andRequisite Technology's BugsEye.

SUMMARY OF THE INVENTION

[0011] The present invention, a highly scalable, hierarchical,data-driven information navigation system and method, enables thenavigation of a collection of documents or other materials using certaincommon attributes associated with those materials. The navigation systeminterface allows the user to select values for the attributes associatedwith the materials in the current navigation state and returns thematerials that correspond to the user's selections. In some embodiments,the user's selections may be constrained using Boolean operators. Thepresent invention enables this navigation mode by associating terms(attribute-value pairs) with the documents, defining a set ofhierarchical refinement relationships (i.e., a partial order) among theterms, and providing a guided navigation mechanism based on theassociation of terms with documents and the relationships among theterms.

[0012] The present invention includes several components and featuresrelating to a hierarchical data-driven navigation system. Among theseare a user interface, a knowledge base, a process for generating andmaintaining the knowledge base, a navigable data structure and methodfor generating the data structure, WWW-based applications of the system,and methods of implementing the system. Although the invention isdescribed herein primarily with reference to a WWW-based system fornavigating a product database, it should be understood that a similarnavigation system could be employed in any database context wherematerials may be associated with terms and users can identify materialsof interest by way of those terms.

[0013] The present invention uses a knowledge base of informationregarding the collection of materials to formulate and to adapt theinterface to guide the user through the collection of navigation statesby providing relevant navigation options. The knowledge base includes anenumeration of attributes relevant to the materials, a range of valuesfor each attribute, and a representation of the partial order thatrelates terms (the attribute-value pairs). Attribute-value pairs formaterials relating to entertainment, for example, may be Products:Movies and Director: Spike Lee. (Attribute-value pairs are representedthroughout this specification in this Attribute: Value format;navigation states are represented as bracketed expressions ofattribute-value pairs.) The knowledge base also includes aclassification mapping that associates each item in the collection ofmaterials with a set of terms that characterize that item.

[0014] The knowledge base is typically organized by domains, which aresets of materials that conform to natural groupings. Preferably, adomain is chosen such that a manageable number of attributes suffice toeffectively distinguish and to navigate among the materials in thatdomain. The knowledge base preferably includes a characterization ofeach domain, which might include rules or default expectationsconcerning the classification of documents in that domain. A particularitem may be in more than one domain.

[0015] The present invention includes a user interface for navigation.The user interface preferably presents the user's navigation state as anexpression of terms organized by attribute. For a given expression ofterms, the user interface presents materials that are associated withthose terms in accordance with that expression and presents relevantnavigation options for narrowing or for generalizing the navigationstate. In one aspect of the present invention, users navigate throughthe collection of materials by selecting and deselecting terms. In oneaspect of the present invention, the user interface responds immediatelyto the selection or the deselection of terms, rather than waiting forthe user to construct and to submit a comprehensive query composed ofmultiple terms. Once a query has been executed, the user may narrow thenavigation state by conjunctively selecting additional terms, or byrefining existing terms. Alternatively, the user may broaden thenavigation state by deselecting terms that have already beenconjunctively selected or by generalizing the terms. In preferredembodiments, the user may broaden the navigation state by deselectingterms in an order different from that in which they were conjunctivelyselected. For example, a user could start at {Products: Movies}, narrowby conjunctively selecting an additional term to {Products: Movies ANDGenre: Drama }, narrow again to {Products: Movies AND Genre: Drama ANDDirector: Spike Lee }, and then broaden by deselecting a term to{Products: Movies AND Director: Spike Lee}.

[0016] In another aspect of the present invention, the user may broadenthe navigation state by disjunctively selecting additional terms. Forexample, a user could start at {Products: DVDs}, and then broaden bydisjunctively selecting a term to {Products: DVDs OR Products: Videos},and then narrow by conjunctively selecting a term to {(Products: DVDs ORProducts: Videos) AND Director: Spike Lee}.

[0017] In another aspect of the present invention, the user may narrowthe navigation state by negationally selecting additional terms. Forexample, a user could start at {Products: DVDs}, narrow by conjunctivelyselecting a term to {Products: DVDs AND Genre: Comedy}, and then narrowby negationally selecting a term to {Products: DVDs AND Genre: ComedyAND (NOT Director: Woody Allen)}.

[0018] In another aspect of the present invention, the user interfaceallows users to use free-text search to find terms of interest. Inanother aspect of the present invention, the user interface also allowsusers to use free-text search on descriptive information associated withthe materials.

[0019] In another aspect of the present invention, the user interfacepresents users with context-dependent navigation options for modifyingthe navigation state. The user interface does not present the user withoptions whose selection would correspond to no documents in theresulting navigation state. Also, the user interface presents newnavigation options as they become relevant. The knowledge base maycontain rules that determine when particular attributes or terms aremade available to users for navigation.

[0020] In another aspect of the invention—for example, when thematerials correspond to products available for purchase from varioussources—the knowledge base includes a catalog of canonicalrepresentations that have been aggregated from the materials.

[0021] In another aspect of the invention, the knowledge base mayinclude definitions of stores, sets of materials that are grouped to besearchable at one time. A store may include documents from one or moredomains. An item may be assigned to more than one store. The knowledgebase may also include rules to customize navigation for particularstores.

[0022] In another aspect of the invention, the knowledge base isdeveloped through a multi-stage, iterative process. Workflow managementallocates resources to maximize the efficiency of generating and ofmaintaining the knowledge base. The knowledge base is used to generatedata structures that support navigation through a collection ofmaterials. In one aspect of the invention, the navigation systemconsists of a hierarchy (i.e., a partial order) of navigation statesthat map expressions of terms to the sets of materials with which thoseterms are associated. In another aspect of the invention, the navigationstates are related by transitions corresponding to terms used to narrowor broaden from one navigation state to another. The navigation statesmay be fully or partially precomputed, or may be entirely computed atrun-time. In another aspect of the invention, implementations of theinvention may be scalable through parallel or distributed computation.In addition, implementations of the invention may employ master andslave servers arranged in a hierarchical configuration.

BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The invention, including these and other features thereof, may bemore fully understood from the following description and accompanyingdrawings, in which:

[0024]FIG. 1 is a view of a user interface to a navigation system inaccordance with an embodiment of the present invention.

[0025]FIG. 2 is a view of the user interface of FIG. 1, showing adrop-down pick list of navigable terms.

[0026]FIG. 3 is a view of the user interface of FIG. 1, showing anavigation state.

[0027]FIG. 4 is a view of the user interface of FIG. 1, showing anavigation state.

[0028]FIG. 5 is a view of the user interface of FIG. 1, showing anavigation state.

[0029]FIG. 6 is a view of the user interface of FIG. 1, showing anavigation state.

[0030]FIG. 7 is a view of the user interface of FIG. 1, showing anavigation state.

[0031]FIG. 8 is a view of the user interface of FIG. 1, showing anavigation state.

[0032]FIG. 9 is a view of the user interface of FIG. 1, showing theresult of a free-text search for terms.

[0033]FIG. 10 is a view of the user interface of FIG. 1, showinginformation about a particular document.

[0034] FIGS. 11A-C are representative examples of how the range ofvalues for an attribute could be partially ordered in accordance with anembodiment of the present invention.

[0035]FIG. 12 is a block diagram of a process for collecting andclassifying documents in accordance with an embodiment of the presentinvention.

[0036]FIG. 13 is a table illustrating how a set of documents may beclassified in accordance with an embodiment of the present invention.

[0037]FIG. 14 is a representative partial order of navigation states inaccordance with an embodiment of the present invention.

[0038]FIG. 15 is a block diagram of a process for precomputing anavigation state in accordance with an embodiment of the presentinvention.

[0039]FIG. 16 is a view of a user interface to a navigation system inaccordance with an embodiment of the invention, showing disjunctiveselection.

[0040]FIG. 17 is a view of a user interface to a navigation system inaccordance with an embodiment of the invention, showing disjunctiveselection.

[0041]FIG. 18 is a view of a user interface to a navigation system inaccordance with an embodiment of the invention, showing negationalselection.

[0042]FIG. 19 is a view of a user interface to a navigation system inaccordance with an embodiment of the invention, showing negationalselection.

[0043]FIG. 20 is a block diagram of a system and a method for processinga request across multiple servers in accordance with an embodiment ofthe present invention.

[0044]FIG. 21 is a flow diagram of steps for combining refinementoptions from slave servers in accordance with an embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0045] User Interface

[0046] In accordance with one embodiment of the present invention, FIG.1 shows a user interface 10 to a hierarchical, data-driven navigationsystem. The navigation system operates on a collection of documentsdefined in a knowledge base. As is shown, the user is preferablypresented with at least two alternative methods of using the navigationsystem: (1) by selecting terms to navigate through the collection ofdocuments, or (2) by entering a desired keyword in a search box.

[0047] The navigation system preferably organizes documents by domain.In accordance with one embodiment of the present invention, the userinterface 10 shown in FIGS. 1-10 is operating on a set of documents thatare part of a wine domain. Preferably, a domain defines a portion of thecollection of documents that reflects a natural grouping. Generally, theset of attributes used to classify documents in a domain will be amanageable subset of the attributes used to classify the entirecollection of documents. A domain definition may be a type of product,e.g., wines or consumer electronics. A domain may be divided intosubdomains to further organize the collection of documents. For example,there can be a consumer electronics domain that is divided into thesubdomains of televisions, stereo equipment, etc. Documents maycorrespond to goods or services.

[0048] The user interface may allow users to navigate in one domain at atime. Alternatively, the user interface may allow the simultaneousnavigation of multiple domains, particularly when certain attributes arecommon to multiple domains.

[0049] The user interface allows the user to navigate through acollection of navigation states. Each state is composed of an expressionof terms and of the set of documents associated with those terms inaccordance with that expression. In the embodiment shown in FIGS. 1-10,users navigate through the collection of navigation states byconjunctively selecting and deselecting terms to obtain the navigationstate corresponding to each expression of conjunctively selected terms.Preferably, as in FIG. 4, the user interface 10 presents a navigationstate by displaying both the list 50 of terms 52 and a list 41 of someor all of the documents 42 that correspond to that state. Preferably,the user interface presents the terms 52 of the navigation stateorganized by attribute. Preferably, the initial navigation state is aroot state that corresponds to no term selections and, therefore, to allof the documents in the collection.

[0050] As shown in FIG. 2, the user interface 10 allows users to narrowthe navigation state by choosing a value 28 for an attribute 22, or byreplacing the currently selected value with a more specific one (ifappropriate). Preferably, the user interface 10 presents users with theoptions available to narrow the present navigation state, preferablywith relevant terms organized by attribute. In some embodiments of thepresent invention, as shown in FIG. 2, users can select values 28 fromdrop-down lists 26 denoted by indicators 24, that are organized byattributes 22 in the current navigation state. The user interface maypresent these navigation options in a variety of formats. For example,values can be presented as pictures or as symbols rather than as text.The interface may allow for any method of selecting terms, e.g., mouseclicks, keyboard strokes, or voice commands. The interface may beprovided through various media and devices, such as television or WWW,and telephonic or wireless devices. Although discussed herein primarilyas a visual interface, the interface may also include an audio componentor be primarily audio-based.

[0051] Preferably, in the present navigation state, the user interfaceonly presents options for narrowing the navigation state that lead to anavigation state with at least one document. This preferred criteria forproviding navigation options ensures that there are no “dead ends,” ornavigation states that correspond to an empty result set.

[0052] Preferably, the user interface only presents options fornarrowing the navigation state if they lead to a navigation state withstrictly fewer documents than the present one. Doing so ensures that theuser interface does not present the user with choices that are alreadyimplied by terms in the current navigation state.

[0053] Preferably, the user interface presents a new navigation state assoon as the user has chosen a term 28 to narrow the current navigationstate, without any further triggering action by the user. Because thesystem responds to each user with immediate feedback, the user need notformulate a comprehensive query and then submit the query.

[0054] In accordance with one embodiment of the present invention, asshown in FIGS. 3 and 4, the user interface 10 may enable broadening ofthe current navigation state by allowing the user to remove terms 52from the list 50 of terms conjunctively selected. For example, theinterface 10 may provide a list 50 with checkboxes 54 for removingselections and a button 56 to trigger the new search. In the illustratedembodiment, the user can remove conjunctively selected terms 52 in anyorder and can remove more than one selection 52 at a time.

[0055] Preferably, the navigation options presented to the user arecontext-dependent. For example, terms that refine previously selectedterms may become navigation options in the resulting navigation state.For example, referring to FIG. 5, after the term Flavors: Wood and NutFlavors 52 is conjunctively selected (the user has selected the valueWood and Nut Flavors 23 for the attribute Flavors), Wood and Nut Flavors23 then appears in the interface for the new navigation state in thelist 20 of attributes and allows conjunctive selection of values 28 thatrelate to that specific attribute for further refinement of the query.The user interface may also present certain attributes that were notpresented initially, as they become newly relevant. For example,comparing FIG. 3 to FIG. 2, the attribute French Vineyards 25 appears inthe list 20 of attributes only after the user has already conjunctivelyselected the term Regions: French Regions in a previous navigationstate. Attributes may be embedded in this way to as many levels as aredesired. Presenting attributes as navigation options when thoseattributes become relevant avoids overwhelming the user with navigationoptions before those options are meaningful.

[0056] Additionally, for some attributes 22, multiple incomparable(non-refining) conjunctive selections of values 28 may be applicable.For example, for the attribute Flavor, the values Fruity and Nutty,neither of which refines the other, may both be conjunctively selectedso that the terms Flavors: Fruity and Flavors: Nutty narrow thenavigation state. Thus, users may sometimes be able to refine a query byconjunctively selecting multiple values under a single attribute.

[0057] Preferably, certain attributes will be eliminated as navigationoptions if they are no longer valid or helpful choices. For example, ifall of the documents in the result set share a common term (in additionto the term(s) selected to reach the navigation state), then conjunctiveselection of that term will not further refine the result set; thus, theattribute associated with that term is eliminated as a navigationoption. For example, comparing FIG. 6 with FIG. 4, the attribute WineTypes 27 has been eliminated as a navigation option because all of thedocuments 42 in the result set share the same term, Wine Types:Appellational Wines. In preferred embodiments, an additional feature ofthe interface 10 is that this information is presented to the user as acommon characteristic of the documents 42 in the result set. Forexample, referring to FIG. 6, the interface 10 includes a display 60that indicates the common characteristics of the documents 42 in theresult set. Removing a term as a navigation option when all of thedocuments in the result set share that term prevents the user fromwasting time by conjunctively selecting terms that do not refine theresult set.

[0058] Preferably, the user interface also eliminates values asnavigation options if their selection would result in no documents inthe result set. For example, comparing FIG. 8 to FIG. 7, after the userselects the term Wine Spectator Range: 95-100, the user interfaceeliminates as navigation options all the values 28, 29 in the list 26 ofvalues for the attribute Appellations 22 except for the values AlexanderValley 29 and Napa Valley 29. Alexander Valley 29 and Napa Valley 29 arethe only two values in the list 26 of values for the attributeAppellations that return at least one document in the result set; allother values 28 return the empty set. Removing values as navigationoptions that would result in an empty result set saves the user time bypreventing the user from reaching dead-ends.

[0059] Preferably, the user interface allows users to search for desiredwords using free text search. In accordance with one embodiment of thepresent invention, illustrated in FIG. 9, a search box 30 preferablyallows users to perform a free-text search for terms of interest, ratherthan performing a full-text search of the documents themselves.Preferably, the user interface responds to such a search by presenting alist 32 of terms 34 including terms organized by attribute 36, andallowing the user to select from among them. Preferably, the userinterface responds to the user's selection by presenting the user withthe navigation state corresponding to the selection of that term. Theuser may then either navigate from that state (i.e., by narrowing orbroadening it) or perform additional free-text searches for terms.

[0060] Preferably, the user interface 10 presents a full or partial list41 of the documents that correspond to the current navigation state.Preferably, if a user is interested in a particular document 42, theuser may select it and obtain a record 70 containing further informationabout it, including the list 72 of terms 74 that are associated withthat document, as shown in FIG. 10. Preferably, the user interface 10allows the user to conjunctively select any subset of those terms 74 andthereby navigate to the navigation state that corresponds to theselected term expression.

[0061] Preferably, the user interface 10 also offers navigation optionsthat directly link to an associated navigation state that is relevantto, but not necessarily a generalization or refinement of, the presentnavigation state. These links preferably infer the user's interests fromthe present navigation state and enable the user to cross-over to arelated topic. For example, if the user is visiting a particularnavigation state in a food domain, links may direct the user tonavigation states of wines that would complement those foods in the winedomain.

[0062] In accordance with another embodiment of the present invention,the user is preferably presented with additional methods of using thenavigation system such as: (1) by conjunctively selecting terms, (2) bydisjunctively selecting terms, (3) by negationally selecting terms, or(4) by entering a desired keyword in a search box.

[0063] In another aspect of the present invention, the user may broadenthe navigation state by disjunctively selecting additional terms. Forexample, a user could start at {Products: DVDs}, and then broaden bydisjunctively selecting a term to {Products: DVDs OR Products: Videos},and then narrow by conjunctively selecting a term to {(Products: DVDs ORProducts: Videos) AND Director: Spike Lee}. FIG. 16 shows a userinterface 300 to a hierarchical, data-driven navigation system. The userinterface 300 is operating on a collection of records relating to mutualfunds. The interface 300 presents navigation options, including a listof attributes 310 relating to mutual funds and a list of terms 314 for aparticular attribute 312, such as Fund Family, under consideration by auser. A selected term 316 is highlighted. As shown, the attribute-valuepair {Fund Family: Fidelity Investments} has previously been selected.The illustrated navigation system allows the user to selectattribute-value pairs disjunctively. As shown in FIG. 17, after the usersubsequently selects {Fund Family: Vanguard Group}in addition, theinterface 300 presents a new navigation state {Fund Family: FidelityInvestments OR Fund Family: Vanguard Group}, including mutual funds 320that match either selected attribute-value pair. Accordingly, bothselected attribute-value pairs 316 are highlighted. In some embodiments,for example, to reduce computational requirements, disjunctivecombination of attribute-value pairs may be limited to mutuallyincomparable attribute-value pairs that correspond to the sameattribute.

[0064] In another aspect of the present invention, the user may narrowthe navigation state by negationally selecting additional terms. Forexample, a user could start at {Products: DVDs}, narrow by conjunctivelyselecting a term to {Products: DVDs AND Genre: Comedy}, and then narrowby negationally selecting a term to {Products: DVDs AND Genre: ComedyAND (NOT Director: Woody Allen)}. FIG. 18 shows another interface 400 toa hierarchical, data-driven navigation system. The user interface 400 isoperating on a collection of records relating to entertainment products.The user interface 400 includes a header 410 and a navigation area 412.The header 410 indicates the present navigation state {Products: DVDsAND Genre:Drama}, and implies the refinement options currently underconsideration by the user. The leader “Not Directed By” 414 indicates anegational operation with respect to the Director attribute. Theinterface lists the attribute-value pairs 416 that can be combined withthe expression for the present navigation state under this operation. Asshown in FIG. 19, after the user selects the term Director: MartinScorsese, the interface 400 presents a new navigation state {Products:DVDs AND Genre:Drama AND (NOT Director: Martin Scorsese}.

[0065] Although the interface to the navigation system has beendescribed herein as a user interface, the interface could provide otherforms of access to the navigation system. In alternative embodiments,the interface may be an applications program interface to allow accessto the navigation system for or through other applications. Theinterface may also enhance the functionality of an independentdata-oriented application. The interface may also be used in the contextof a WWW-based application or an XML-based application. The navigationsystem may also support multiple interface modes simultaneously. Thenavigation system may be made available in a variety of ways, forexample via wireless communications or on handheld devices.

[0066] Knowledge Base

[0067] Preferably, the navigation system stores all information relevantto navigation in a knowledge base. The knowledge base is the repositoryof information from two processes: taxonomy definition andclassification. Taxonomy definition is the process of identifying therelevant attributes to characterize documents, determining theacceptable values for those attributes (such as a list or range ofvalues), and defining a partial order of refinement relationships amongterms (attribute-value pairs). Classification is the process ofassociating terms with documents. The knowledge base may also be used tomaintain any information assets that support these two processes, suchas domains, classification rules and default expectations. Additionally,the knowledge base may be used to maintain supplementary information andmaterials that affect users' navigation experience.

[0068] The taxonomy definition process identifies a set of attributesthat appropriately characterize documents. A typical way to organize thetaxonomy definition process is to arrange the collections of documentsinto domains, which are sets of documents that conform to a naturalgrouping and for which a manageable number of attributes suffice toeffectively distinguish and navigate among the documents in that domain.The knowledge base preferably includes a characterization of eachdomain, which might include rules or default expectations concerning theclassification of documents in that domain.

[0069] The taxonomy definition process also identifies a full set ofvalues, at varying levels of specificity when appropriate, for eachattribute. The values preferably identify the specific properties of thedocuments in the collection. The values may be enumerated explicitly ordefined implicitly. For example, for a “color” attribute, a full set ofvalid color values may be specified, but for a “price” or “date”attribute, a range within which the values may fall or a general datatype, without defining a range, may be specified. The process ofidentifying these values may include researching the domain or analyzingthe collection of documents.

[0070] The taxonomy definition process also defines a partial order ofrefinement relationships among terms (attribute-value pairs). Forexample, the term Origin: France could refine the term Origin: Europe.The refinement relationship is transitive and antisymmetric but notnecessarily total. Transitivity means that, if term A refines term B andterm B refines term C, then term A refines term C. For example, ifOrigin: Paris refines Origin: France and Origin: France refines Origin:Europe, then Origin: Paris refines Origin: Europe. Antisymmetry meansthat, if two terms are distinct, then both terms cannot refine eachother. For example, if Origin: Paris refines Origin: France, thenOrigin: France does not refine Origin: Paris.

[0071] Further, the partial order of refinement relationships amongterms is not necessarily a total one. For example, there could be twoterms, Origin: France and Origin: Spain, such that neither term refinesthe other. Two terms with this property are said to be incomparable.Generally, a set of two or more terms is mutually incomparable if, forevery pair of distinct terms chosen from that set, the two terms areincomparable. Typically, but not necessarily, two terms with distinctattributes will be incomparable.

[0072] Given a set of terms, a term is a maximal term in that set if itdoes not refine any other terms in the set, and it is a minimal term inthat set if no other term in the set refines it. For example, in the set{Origin: France, Origin: Paris, Origin: Spain, Origin: Madrid}, Origin:France and Origin: Spain are maximal, while Origin: Paris and Origin:Madrid are minimal. In the knowledge base, a term is a root term if itdoes not refine any other terms and a term is a leaf term if no otherterm refines it.

[0073]FIGS. 11A, 11B, and 11C illustrate attributes 112 and values 114,arranged in accordance with the partial order relationships, that couldbe used for classifying wines. The attributes 112 are Type/Varietal,Origin, and Vintage. Each attribute 112 corresponds to a maximal termfor that attribute. An attribute 112 can have a flat set of mutuallyincomparable values (e.g., Vintage), a tree of values (e.g., Origin), ora general partial order that allows a value to refine a set of two ormore mutually incomparable values (e.g., Type/Varietal). The arrows 113indicate the refinement relationships among values 114.

[0074] Attributes and values may be identified and developed in severalways, including manual or automatic processing and the analysis ofdocuments. Moreover, this kind of analysis may be top-down or bottom-up;that is, starting from root terms and working towards leaf terms, orstarting from leaf terms and working towards root terms. Retailers, orothers who have an interest in using the present invention todisseminate information, may also define attributes and terms.

[0075] The classification process locates documents in the collection ofnavigation states by associating each document with a set of terms. Eachdocument is associated with a set of mutually incomparable terms, e.g.,{Type/Varietal: Chianti, Origin: Italy, Vintage: 1996}, as well as anyother desired descriptive information. If a document is associated witha given term, then the document is also associated with all of the termsthat the given term refines.

[0076] The classification process may proceed according to a variety ofworkflows. Documents may be classified in series or in parallel, and theautomatic and manual classification steps may be performed one or moretimes and in any order. To improve accuracy and throughput, humanexperts may be assigned as specialists to oversee the classificationtask for particular subsets of the documents, or even particularattributes for particular subsets of the documents. In addition, theclassification and taxonomy processes may be interleaved, especially asknowledge gained from one process allows improvements in the other.

[0077]FIG. 12 illustrates the stages in a possible flow for theclassification process 250. The data acquisition step 252, that is, thecollection of documents for the database, may occur in several differentways. For example, a retailer with a product catalog over which thenavigation system will operate might provide a set of documentsdescribing its products as a pre-defined set. Alternatively, documentsmay be collected from one source, e.g., one Web site, or from a numberof sources, e.g., multiple Web sites, and then aggregated. If thedesired documents are Web pages, the documents may be collected byappropriately crawling the Web, selecting documents, and discardingdocuments that do not fit in the domain. In the data translation step254, the collected documents are formatted and parsed to facilitatefurther processing. In the automatic classification step 256, theformatted and parsed documents are processed in order to automaticallyassociate documents with terms. In the manual classification step 258,human reviewers may verify and amend the automatic classifications,thereby ensuring quality control. Preferably, any rules or expectationsviolated in either the automatic classification step 256 or the manualclassification step 258 would be flagged and presented to humanreviewers as part of the manual classification step 258. If thecollection of documents is divided into domains, then there willtypically be rules that specify a certain minimal or preferred set ofattributes used to classify documents from each domain, as well as otherdomain-specific classification rules. When the classification process iscomplete, each document will have a set of terms associated with it,which locate the document in the collection of navigation states.

[0078] In FIG. 13, table 180 shows a possible representation of acollection of classified wine bottles. Preferably, each entry isassociated with a document number 182, which could be a universalidentifier, a name 184, and the associated terms 186. The name ispreferably descriptive information that could allow the collection to beaccessed via a free-text search engine as well as via the term-basednavigation system.

[0079] In another aspect of the invention, the knowledge base alsoincludes a catalog of canonical representations of documents. Eachcatalog entry represents a conceptually distinct item that may beassociated with one or more documents. The catalog allows aggregation ofprofile information from multiple documents that relate to the item,possibly from multiple sources. For example, if the same wine is sold bytwo vendors, and if one vendor provides vintage and geographic locationinformation and another provides taste information, that informationfrom the two vendors can be combined in the catalog entry for that typeof wine. The catalog may also improve the efficiency of theclassification process by eliminating duplicative profiling. In FIG. 12,the catalog creation step 260 associates classified documents withcatalog entries, creating new catalog entries when appropriate. For easeof reference, an item may be uniquely identified in the catalog by auniversal identifier.

[0080] The knowledge base may also define stores, where a store is asubcollection of documents that are grouped to be searchable at onetime. For example, a particular online wine merchant may not wish todisplay documents corresponding to products sold by that merchant'scompetitors, even though the knowledge base may contain such documents.In this case, the knowledge base can define a store of documents thatdoes not include wines sold by the merchant's competitors. In FIG. 12,the store creation step 262 may define stores based on attributes,terms, or any other properties of documents. A document may beidentified with more than one store. The knowledge base may also containattributes or terms that have been customized for particular stores.

[0081] In FIG. 12, the export process step 264 exports information fromthe knowledge base to another stage in the system that performs furtherprocessing necessary to generate a navigable data structure.

[0082] Navigation States

[0083] The navigation system represents, explicitly or implicitly, acollection of navigation states. A navigation state can be representedeither by an expression of terms, or by the subset of the collection ofdocuments that correspond to the term expression.

[0084] By way of example, types of navigation states include conjunctivenavigation states, disjunctive navigation states and negationalnavigation states. Conjunctive navigation states are a special case ofnavigation states in which the term expression is conjunctive—that is,the expression combines terms using only the AND operator. Conjunctivenavigation states are related by a partial order of refinement that isderived from the partial order that relates the terms.

[0085] In one aspect of the present invention, a conjunctive navigationstate has two representations. First, a conjunctive navigation statecorresponds to a subset of the collection of documents. Second, aconjunctive navigation state corresponds to a conjunctive expression ofmutually incomparable terms. FIG. 14 illustrates some navigation statesfor the documents and terms based on the wine example discussed above.For example, one navigation state 224 is {Origin: South America}(documents #1, #4, #5); a second navigation state 224 is {Type/Varietal:White AND Origin: United States} (documents #2, #9). The subset ofdocuments corresponding to a conjunctive navigation state includes thedocuments that are commonly associated with all of the terms in thecorresponding expression of mutually incomparable terms. At the sametime, the expression of mutually incomparable terms corresponding to aconjunctive navigation state includes all of the minimal terms from theterms that are common to the subset of documents, i.e., the terms thatare commonly associated with every document in the subset. A conjunctivenavigation state is preferably unique and fully specified; for aparticular conjunctive expression of terms, or for a given set ofdocuments, there is no more than one corresponding conjunctivenavigation state.

[0086] One way preferred to define the collection of conjunctivenavigation states is to uniquely identify each conjunctive navigationstate by a canonical conjunctive expression of mutually incomparableterms. A two-step mapping process that maps an arbitrary conjunctiveexpression of terms to a canonical conjunctive expression of mutuallyincomparable terms creates states that satisfy this property. In thefirst step of the process, an arbitrary conjunctive expression of termsis mapped to the subset of documents that are associated with all ofthose terms. Recalling that if a document is associated with a giventerm, then the document is also associated with all of the terms thatthe given term refines, in the second step of the process, this subsetof documents is mapped to the conjunctive expression of minimal termsamong the terms that are common to all of the documents in that documentset. The result of this second step is a conjunctive expression ofmutually incomparable terms that uniquely identifies the correspondingsubset of documents, and, hence, is a canonical representation for aconjunctive navigation state. By way of illustration, referring to thewine example in FIG. 14, the term expression {Origin: France} maps tothe subset of documents {documents #8, #11 }, which in turn maps to thecanonical term expression { Type/Varietal: Red AND Origin: France}.

[0087] The conjunctive navigation states 222, 224, 226 are related by apartial order of refinement relationships 220 derived from the partialorder that relates terms. This partial order can be expressed in termsof either the subsets of documents or the term expressions that define aconjunctive navigation state. Expressed in terms of subsets ofdocuments, a navigation state A refines a navigation state B if the setof documents that corresponds to state A is a subset of the set ofdocuments that corresponds to state B. Expressed in terms of termexpressions, a conjunctive navigation state A refines a conjunctivenavigation state B if all of the terms in state B either are in state Aor are refined by terms in state A. Referring to FIG. 14, the navigationstate 226 corresponding to the term expression {Type/Varietal: Red ANDOrigin: Chile} (document #4) refines the navigation state 224corresponding to {Origin: Chile} (documents #4, #5). Since therefinement relationships among navigation states give rise to a partialorder, they are transitive and antisymmetric. In the example,{Type/Varietal: Red AND Origin: Chile} (document #4) refines {Origin:Chile} (documents #4, #5) and {Origin: Chile} (documents #4, #5) refines{Origin: South America} (documents #1, #4, #5); therefore,{Type/Varietal: Red AND Origin: Chile} (document #4) refines {Origin:South America} (documents #1, #4, #5). The root navigation state 222 isdefined to be the navigation state corresponding to the entirecollection of documents. The leaf navigation states 226 are defined tobe those that cannot be further refined, and often (though notnecessarily) correspond to individual documents. There can bearbitrarily many intermediate navigation states 224 between the root 222and the leaves 226. Given a pair of navigation states A and B where Brefines A, there can be multiple paths of intermediate navigation states224 connecting A to B in the partial order. For convenience ofdefinition in reference to the implementation described herein, anavigation state is considered to refine itself.

[0088] A user browses the collection of documents by visiting a sequenceof one or more navigation states typically starting at the rootnavigation state 222. In one embodiment of the present invention, thereare three basic modes of navigation among these states. The first modeis refinement, or moving from the current navigation state to anavigation state that refines it. The user can perform refinement eitherby adding a term through conjunctive selection to the current navigationstate or by refining a term in the current navigation state; i.e.,replacing a term with a refinement of that term. After the user adds orrefines a term, the new term expression can be mapped to a canonicalterm expression according to the two-step mapping described above. Thesecond mode is generalization, or moving from the current navigationstate to a more general navigation state that the current state refines.The user can perform generalization either by removing a term from thecurrent navigation state or by generalizing a term in the currentnavigation state; i.e., replacing a current term with a term that thecurrent term refines. After the user removes or generalizes a term, thenew term expression can be mapped to a canonical term expression. Thethird mode is simply creating a query in the form of a desired termexpression, which again can be mapped to a canonical term expression toobtain a navigation state.

[0089] In other embodiments of the present invention, there areadditional modes of navigation. In systems that support thecorresponding types of navigation states, these modes may includegeneralization of the navigation state through disjunctive selection, asshown in FIG. 16, as well as refinement of the navigation state throughnegational selection, as shown in FIG. 17. In general, terms can becombined using Boolean logic. Although term expressions that are notconjunctive do not necessarily have canonical forms, someimplementations may be based on a system that uses a collection ofconjunctive navigation states. One implementation is based on logicalequivalence rules as described below.

[0090] Implementation

[0091] The knowledge base is transferred to a navigable data structurein order to implement the present invention. The navigation states maybe fully precomputed, computed dynamically at run-time, or partiallyprecomputed. A cache may be used to avoid redundant computation ofnavigation states.

[0092] In preferred embodiments, the collection of conjunctivenavigation states may be represented as a graph—preferably, a directedacyclic multigraph with labeled edges. A graph is a combinatorialstructure consisting of nodes and edges, where each edge links a pair ofnodes. The two nodes linked by an edge are called its endpoints. Withrespect to the present invention, the nodes correspond to conjunctivenavigation states, and the edges represent transitions that refine fromone conjunctive navigation state to another. Since refinement isdirectional, each edge is directed from the more general node to thenode that refines it. Because there is a partial order on the navigationstates, there can be no directed cycles in the graph, i.e., the graph isacyclic. Preferably, the graph is a multigraph, since it allows thepossibility of multiple edges connecting a given pair of nodes. Eachedge is labeled with a term. Each edge has the property that startingwith the term set of the more general end point, adding the edge term,and using the two-step map to put this term set into canonical formleads to a refinement which results in the navigation state that is theother endpoint. That is, each edge represents a refinement transitionbetween nodes based on the addition of a single term.

[0093] The following definitions are useful for understanding thestructure of the graph: descendant, ancestor, least common ancestor(LCA), proper ancestor, proper descendant, and greatest lower bound(GLB). These definitions apply to the refinement partial order amongterms and among nodes. If A and B are terms and B refines A, then B issaid to be a descendant of A and A is said to be an ancestor of B. If,furthermore, A and B are distinct terms, then B is said to be a properdescendant of A and A is said to be a proper ancestor of B. The samedefinitions apply if A and B are both nodes.

[0094] If C is an ancestor of A and C is also an ancestor of B, then Cis said to be a common ancestor of A and B, where A, B, and C are eitherall terms or all nodes. The minimal elements of the set of commonancestors of A and B are called the least common ancestors (LCAs) of Aand B. If no term has a pair of incomparable ancestors, then the LCA oftwo terms-or of two nodes-is unique. For example, the LCA of Origin:Argentina and Origin: Chile is Origin: South America in the partialorder of terms 110 of FIG. 11B. In general, however, there may be a setof LCAs for a given pair of terms or nodes.

[0095] In an implementation that fully precomputes the collection ofnodes, computation of the nodes in the graphs is preferably performedbottom-up.

[0096] The leaf nodes in the graph—that is, the nodes corresponding toleaf navigation states—may be computed directly from the classifieddocuments. Typically, but not necessarily, a leaf node will correspondto a set containing a single document. The remaining, non-leaf nodes areobtained by computing the LCA-closure of the leaf nodes—that is, all ofthe nodes that are the LCAs of subsets of the leaf nodes.

[0097] The edges of the graph are determined according to a refinementfunction, called the R function for notational convenience. The Rfunction takes as arguments two nodes A and B, where A is a properancestor of B, and returns the set of maximal terms such that, if term Cis in R (A, B), then refining node A with term C results in a node thatis a proper descendant of A and an ancestor (not necessarily proper) ofB. For example, in FIG. 14, R ({Type/Varietal: Red}, {Type /Varietal:Merlot AND Origin: Argentina AND Vintage: 1998})={Type/Varietal: MerlotAND Origin: South America AND Vintage: 1998}. If B₁ is an ancestor ofB₂, then R (A, B₁) is a subset of R (A, B₂)—assuming that A is a properancestor of both B₁ and B₂. For example, R ({Type/Varietal: Red},{Type/Varietal: Red AND Origin: South America})={Origin: South America}

[0098] In the graph, the edges between nodes A and B will correspond toa subset of the terms in R (A, B). Also, no two edges from a singleancestor node A use the same term for refinement. If node A has acollection of descendant nodes {B₁, B₂, . . .} such that term C is inall of the R (A, B_(i)), then the only edge from node A with term C goesto LCA (B₁, B₂, . . . ), which is guaranteed to be the unique maximalnode among the B_(i). In FIG. 14, for example, the edge from node{Type/Varietal: Red} with term Origin: South America goes to node{Type/Varietal: Red AND Origin: South America} rather than to thatnode's proper descendants {Type/Varietal: Merlot AND Origin: SouthAmerica AND Vintage: 1998} and {Type/Varietal: Red AND Origin: Chile}.The LCA-closure property of the graph ensures the existence of a uniquemaximal node among the B_(i). Thus, each edge maps a node-term pairuniquely to a proper descendant of that node.

[0099] The LCA-closure of the graph results in the useful property that,for a given term set S, the set of nodes whose term sets refine S has aunique maximal node. This node is called the greatest lower bound (GLB)of S.

[0100] The graph may be computed explicitly and stored in acombinatorial data structure; it may be represented implicitly in astructure that does not necessarily contain explicit representations ofthe nodes and edges; or it may be represented using a method thatcombines these strategies. Because the navigation system will typicallyoperate on a large collection of documents, it is preferred that thegraph be represented by a method that is scalable.

[0101] The graph could be obtained by computing the LCAs of everypossible subset of leaf nodes. Such an approach, however, growsexponentially in the number of leaf nodes, and is inherently notscalable. An alternative strategy for obtaining the LCA closure is torepeatedly consider all pairs of nodes in the graph, check if eachpair's LCA is in the graph, and add that LCA to the graph as needed.This strategy, though a significant improvement on the previous one, isstill relatively not scalable.

[0102] A more efficient way to precompute the nodes is to process thedocument set sequentially, compute the node for each document, and addthat node to the graph along with any other nodes necessary to maintainLCA-closure. The system stores the nodes and edges as a directed acyclicmultigraph. The graph is initialized to contain a single nodecorresponding to the empty term set, the root node. Referring to FIG.15, in process 230 for inserting a new node into the graph, in step 232,for each new document to be inserted into the graph that does notcorrespond to an existing node, the system creates a new node. In step234, before inserting the new node into the graph, the systemrecursively generates and inserts any missing LCA nodes between the rootnode (or ancestor node) and the new node. To ensure LCA-closure afterevery node insertion, the system inserts the document node last, insteps 236 and 238, after inserting all the other nodes that are properancestors of it.

[0103] Inserting a new node requires the addition of the appropriateedges from ancestors to the node, in step 236, and to descendants out ofthe new node, in step 238. The edges into the node are preferablydetermined by identifying the ancestors that have refinement terms thatlead into the new node and do not already have those refinement termsused on edges leading to intermediate ancestors of the new node. Theedges out of the node are preferably determined by computing the GLB ofthe new node and appropriately adding edges from the new node to the GLBand to nodes to which the GLB has edges.

[0104] The entire graph of conjunctive navigation states may beprecomputed by following the above procedures for each document in thecollection. Computation of other types of navigation states is discussedbelow. Precomputing of the graph may be preferred where the size of thegraph is manageable, or if users are likely to visit every navigationstate with equal probability. In practice, however, users typicallyvisit some navigation states more frequently than others. Indeed, as thegraph gets larger, some navigation states may never be visited at all.Unfortunately, reliable predictions of the frequency with whichnavigation states will be visited are difficult. In addition, it isgenerally not practical to precompute the collection of navigationstates that are not conjunctive, as this collection is usually muchlarger than the collection of conjunctive navigation states.

[0105] An alternative strategy to precomputing the navigation states isto create indexes that allow the navigation states to be computeddynamically. Specifically, each document can be indexed by all of theterms that are associated with that document or that have refinementsassociated with that document. The resulting index is generally muchsmaller in size than a data structure that stores the graph ofnavigation states. This dynamic approach may save space andprecomputation time, but it may do so at the cost of higher responsetimes or greater computational requirements for operation. A dynamicimplementation may use a one-argument version of the R function thatreturns all refinement terms from a given navigation state, as well aprocedure for computing the GLB of a term set.

[0106] It is also possible to precompute a subset of the navigationstates. It is preferable to precompute the states that will cost themost to compute dynamically. For example, if a state corresponds to alarge subset of the documents, it may be preferable to compute it inadvance. In one possible partial precomputation approach, all navigationstates, particularly conjunctive ones, corresponding to a subset ofdocuments above a threshold size may be precomputed. Precomputing astate is also preferable if the state will be visited frequently. Insome instances it may be possible to predict the frequency with which anavigation state will be visited. Even if the frequency with which anavigation state will be visited cannot be predicted in advance, theneed to continually recompute can be reduced by caching the results ofdynamic computation. Most recently or most frequently visited states maybe cached.

[0107] As described above with respect to the interface, the systemsupports at least three kinds of query operations—namely refinement,generalization, and query by specifying an expression of terms. Theseoperations may be further described in terms of the graph. For queryrefinement, the system enumerates the terms that are on edges from thenode corresponding to the current navigation state. When the userselects a term for refinement, the system responds by presenting thenode to which that edge leads. Similarly, for query generalizationoptions, the system enumerates and selects edges that lead to (ratherthan from) the node corresponding to the current navigation state.Alternatively, query generalization may be implemented as a special caseof query by specifying a set of terms. For query by specifying a set ofkeywords, the system creates a virtual node corresponding to the giventerm set and determines the GLB of the virtual node in the graph. If noGLB is found, then there are no documents that satisfy the query.Otherwise, the GLB node will be the most general node in the graph thatcorresponds to a navigation state where all documents satisfy the query.

[0108] The above discussion focuses on how the system represents andcomputes conjunctive navigation states. In some embodiments of thepresent invention, the user interface only allows users to navigateamong the collection of conjunctive navigation states. In otherembodiments, however, users can navigate to navigation states that arenot conjunctive. In particular, when the system supports navigationstates that are not conjunctive, the user interface may allow users toselect terms disjunctively or negationally.

[0109] If the system includes navigation states that are bothconjunctive and disjunctive (e.g., {(Products: DVDs OR Products: Videos)AND Director: Spike Lee}), then in some embodiments, the system onlyprecomputes a subset of the states, particularly if the total number ofnavigation states is likely to be too large to maintain in memory oreven secondary (e.g., disk) storage. By using rules for equivalence ofBoolean expressions, it is possible to express any navigation state thatmixes conjunction and disjunction in terms of a union of conjunctivenavigation states. The above example can be rewritten as {(Products:DVDs AND Director: Spike Lee) OR (Products: Videos AND Director: SpikeLee)}. This approach leads to an implementation combining conjunctiveand disjunctive navigation states based on the above discussion,regardless of whether all, some, or none of the graph of conjunctivenavigation states is precomputed.

[0110] In preferred embodiments, disjunctive selections may be madewithin, but not between, attributes. When determining the set ofdisjunctive generalizations, the system does not consider other termsfrom the attribute of the given disjunction to be in the navigationstate. For example, if the navigation state is {Type/Varietal: Red ANDOrigin: Chile} and the system is allowing the disjunctive selection ofother countries of origin, then the GLB and R function will be appliedto the set {Type/Varietal: Red} rather than to {Type/Varietal: Red ANDOrigin: Chile}. Accordingly, the other terms for the attribute ofcountry of origin that are incomparable to “Chile” become generalizationoptions for the navigation state.

[0111] If the system includes navigation states that use negation (e.g.,{Products: DVDs AND Genre: Comedy AND (NOT Director: Woody Allen)}),then the negationally selected terms can be applied to navigation statesas a post-process filtering operation. The above example can beimplemented by taking the conjunctive navigation state {Products: DVDsAND Genre: Comedy} and applying a filter to it that excludes all moviesassociated with the term Director: Woody Allen. This approach leads toan implementation including negational navigation states based on theabove discussion, regardless of whether all, some, or none of the graphof conjunctive navigation states is precomputed.

[0112] As with disjunction, when determining the set of negationalgeneralizations, the system does not consider other terms from theattribute of the given negation to be in the navigation state. Forexample, if the navigation state is {Medium: Compact Disc AND Artist:Prince} and the system is allowing the negational selection of otherartists (e.g., {Artist: Prince AND NOT (Artist: The Revolution)}), thenthe GLB and R function will be applied to the set {Medium: Compact Disc}rather than to {Medium: Compact Disc AND Artist: Prince}.

[0113] Another aspect of the present invention is its scalabilitythrough parallel or distributed computation. One way to definescalability in a navigation system is in terms of four problemdimensions: the number of materials in the collection, the number ofterms associated with each material in the collection, the rate at whichthe system processes queries (throughput), and the time necessary toprocess a query (latency). In this definition, a system as scalable ifit can be scaled along any of these four dimensions at a subquadraticcost. In other words:

[0114] 1. If the number of materials in the collection is denoted by thevariable n₁ and the other three problem dimensions are held constant,then the resource requirements are subquadratic in n₁.

[0115] 2. If the number of terms associated with each material in thecollection is denoted by the variable n₂ and the other three problemdimensions are held constant, then the resource requirements aresubquadratic in n₂.

[0116] 3. If the number of queries that the system processes per second(i.e., the throughput) is denoted by the variable n₃ and the other threeproblem dimensions are held constant, then the resource requirements aresubquadratic in n₃.

[0117] 4. If the time necessary to process a query (i.e., the latency)is denoted by the variable n₄ and the other three problem dimensions areheld constant, then the resource requirements are subquadratic in 1/n₄.

[0118] Preferably, these resource requirements would be not onlysubquadratic, but linear. Also included within the concept ofscalability, there is an allowance for overhead in creating a network ofdistributed resources. Typically, this overhead will be logarithmic,since the resources may be arranged in a hierarchical configuration ofbounded fan-out.

[0119] In some embodiments, the present invention surmounts thelimitations of a single computational server's limited resources byallowing for distributing the task of computing the informationassociated with a navigation state onto a hierarchy of multiplecomputational servers that act in parallel.

[0120] One insight that drives this aspect of the present invention isthat it is possible to partition the collection of materials amongmultiple “slave” servers, all of which implement the single-serveralgorithm for multidimensional navigation, and then to have a “master”server compute navigation states by passing requests onto the set ofslave machines and combining the responses. From the outside, thecollection of servers appears to act like a single server, but with fargreater computational resources than would be possible on a singlecomputational device. Indeed, the distinction between master and slaveservers is arbitrary; a slave server can itself have slaves, thuscreating a nested hierarchy of servers. Such nesting is useful when thenumber of slaves exceeds the fan-out capability of a single masterserver. An exemplary embodiment of such a system is illustrated in FIG.20. In the hierarchical arrangement 500, a master server 520 works withslave servers 530, 540. In the hierarchical arrangement shown, slaveservers 530 are in turn master servers with respects to slave servers540. The search results are made available to a user on a terminal 510through a user interface in accordance with the present invention.

[0121] The collection of materials may be partitioned by splitting(arbitrarily or otherwise) the materials into disjoint subsets, whereeach subset is assigned to its own server. The subsets may be roughlyequal in size, or they might vary in size to reflect the differingcomputational resources available to each server.

[0122] The algorithm for distributing the task of computing theinformation associated with a navigation state includes three steps. Thesteps of the algorithm are indicated in FIG. 20. In the first step, thequery, which is a request for a valid navigation state, is submitted tothe master server 520, which forwards the query to each of the slaveservers 530. If the servers are nested, the requests are forwardedthrough the hierarchy of servers 500 until they reach the leaf servers540 in the hierarchy. In the second step, each slave server 530, 540processes the query independently, based on the subset of the collectionof materials that is in its partition. In the third step, the masterserver 520 combines the responses from the slave servers to produce aresponse for the original query. The master server 520 returns theresponse to the terminal 510.

[0123] The master server receives the original request and farms it outto the slave servers. Thus, in preferred embodiments, the onlycomputation performed by the master server is to combine the resultsfrom the slave servers. Each slave server that receives a requestcomputes the navigation state based on the subset of the collectionassigned to it. The computation may involve any combination ofconjunction, disjunction, and negation.

[0124] The master server, in contrast, only performs a combination step.The combination step involves producing a valid navigation state,including documents and corresponding refinement options, from theresponses from the slave servers. Since the collection of materials hasbeen partitioned into disjoint subsets, the documents identified by eachof the slave servers can be combined efficiently as a disjoint union.Combining the various refinement options returned by each of the slaveservers may require additional processing, as described below.

[0125] The slave servers all process the same query, but on differentpartitions of the collection of materials. They will generally returndifferent sets of refinement options because a set of refinement optionsthat is valid for one partition may be invalid for another. If thedifferent sets are disjoint, and if the refinement options involve termsthat do not themselves have refinement relationships, then thecombination is a disjoint union.

[0126] Typically, there will be some overlap among the different sets ofrefinement options returned by each slave server. If the sets are notdisjoint, duplicates can be eliminated in this combination step.

[0127] When there are refinement relationships among the terms that arerefinement options returned by the slave servers, the combinationalgorithm computes, for every set of related terms, the least commonancestor or ancestors (LCA) of the terms, as defined by the partialorder among the terms. One algorithm for combining the refinementoptions is outlined in FIG. 21. In step 552, the master server receivesand takes the union of all of the terms, X₁, X₂, . . . X_(n), returnedas refinement options for the navigation state from the slave servers.In step 554, the master server computes the set of ancestors A₁, A₂, . .. An, for each of the terms, X_(1, X) ₂, . . . xn, respectively. In step556, the master server computes the intersection A of all of the sets ofancestors, A₁, A₂, . . . An. In step 558, the master server computes theset M of minimal terms in A. The set M, formed of the least commonancestors of the terms X₁, X₂, . . . X_(n), returned by the slaveservers, is the set of refinement options corresponding to the resultnavigation state. This combination procedure is applied whether therefinement options are conjunctive, disjunctive, or negational.

[0128] In summary, the master server receives a request for a navigationstate, forwards this request to each of the slave servers, combinestheir results with a union operation, and then computes, for every setof terms, the least common ancestor or ancestors of the set.

[0129] There are at least two ways to compute the LCA of the terms. Oneapproach is to store all non-leaf terms on the master server. Thisstrategy is reasonably memory efficient, since, in practice, most of theterms are leaves (minimal elements) in the partial order. A secondapproach is to include the ancestors when returning the terms that arerefinements. This approach saves memory at the expense of increasing thesize of the data being transferred. The latter overhead is reasonable,since, in practice, a term typically has very few ancestors.

[0130] The navigation system of the present invention allows informationproviders to overlay a navigation system over any collection ofdocuments. The knowledge base and navigation aspects of the inventioncan be performed independently by different providers, and informationproviders may outsource these functions to separate entities. Similarly,a generated knowledge base may be imported by a navigation specialist.Information providers may also outsource this navigation requirement toa navigation system provider. A navigation system provider could chargecustomers a license fee for the system independent of the amount of itsusage. Alternatively, a navigation system provider could chargecustomers on a per-click basis, a per-purchase basis if products areavailable via the system, or per-transaction generated from a clickthrough the navigation system. A navigation system provider could alsofunction as an aggregator—compiling records from a number of sources,combining them into a global data set, and generating a navigationsystem to search the data set. The navigation system can be implementedas software provided on a disk, on a CD, in memory, etc., or providedelectronically (such as over the Internet).

[0131] A navigation system in accordance with the present invention mayalso enhance user profiling capability and merchandising capability. Thenavigation system may maintain a profile of users based on the users'selections, including the particular paths selected to explore thecollection of navigation states. Using the knowledge base, the systemmay also infer additional information regarding the users' preferencesand interests by supplementing the selection information withinformation regarding related documents, attributes and terms in theknowledge base. That information may be used to market goods andservices related to the documents of interest to the user.

[0132] The foregoing description has been directed to specificembodiments of the invention. The invention may be embodied in otherspecific forms without departing from the spirit and scope of theinvention. The embodiments, figures, terms and examples used herein areintended by way of reference and illustration only and not by way oflimitation. The scope of the invention is indicated by the appendedclaims and all changes that come within the meaning and scope ofequivalency of the claims are intended to be embraced therein.

We claim:
 1. A navigation system for a set of materials, comprising: a plurality of attributes characterizing the materials; a plurality of values describing the materials, wherein each of the values has an association with at least one of the attributes and each association defines an attribute-value pair, and wherein some of the attribute-value pairs refine other of the attribute-value pairs; a plurality of navigation states, wherein each navigation state corresponds to a particular expression of attribute-value pairs and to a particular subset of the materials; and an interface, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states.
 2. The navigation system of claim 1, wherein at least one navigation state corresponds to an expression of attribute-value pairs that relates at least one attribute value pair conjunctively.
 3. The navigation system of claim 1, wherein at least one navigation state corresponds to an expression of attribute-value pairs that relates at least one attribute value pair disjunctively.
 4. The navigation system of claim 1, wherein at least one navigation state corresponds to an expression of attribute-value pairs that relates at least one attribute value pair negationally.
 5. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents a refinement of the value of one of the attribute-value pairs in the corresponding expression of attribute-value pairs for the originating navigation state.
 6. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents a generalization of the value of one of the attribute-value pairs in the corresponding expression of attribute-value pairs for the originating navigation state.
 7. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents a deselection of the attribute of one of the attribute-value pairs in the corresponding expression of attribute-value pairs for the originating navigation state.
 8. The navigation system of claim 1, wherein a first of the transitions from an originating navigation state to a first destination navigation state represents a selection of an attribute-value pair corresponding to a first attribute and a second of the transitions from the originating navigation state to a second destination navigation state represents a selection of an attribute-value pair corresponding to a second attribute.
 9. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents a selection of an attribute-value pair corresponding to an attribute for which there is no corresponding attribute-value pair in the expression of attribute-value pairs corresponding to the originating navigation state.
 10. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents disjunctive relation of an attribute-value pair to the expression of attribute-value pairs for the originating navigation state.
 11. The navigation system of claim 1, wherein at least one of the transitions from an originating navigation state to a destination navigation state represents negational relation of an attribute-value pair to the expression of attribute-value pairs for the originating navigation state.
 12. The navigation system of claim 1, wherein an originating navigation state corresponds to one of the materials in the set of materials, at least one of the transitions from the originating navigation state to a destination navigation state representing a selection of a particular attribute-value pair associated with the originating navigation state.
 13. The navigation system of claim 1, wherein the values associated with at least one of the plurality of attributes are defined explicitly.
 14. The navigation system of claim 1, wherein the values associated with at least one of the plurality of attributes are defined implicitly.
 15. The navigation system of claim 1, wherein, for attribute-value pairs sharing a common attribute, no attribute-value pair refines a plurality of mutually incomparable attribute-value pairs.
 16. The navigation system of claim 1, wherein, for attribute-value pairs sharing a common attribute, at least one attribute-value pair refines a plurality of mutually incomparable attribute-value pairs.
 17. The navigation system of claim 1, wherein no attribute-value pair refines a plurality of mutually incomparable attribute-value pairs.
 18. The navigation system of claim 1, wherein at least one attribute-value pair refines a plurality of mutually incomparable attribute-value pairs.
 19. The navigation system of claim 1, wherein, for any two attribute-value pairs corresponding to different attributes, the two attribute-value pairs are incomparable.
 20. The navigation system of claim 1, wherein the set of materials includes materials related to a single subject area.
 21. The navigation system of claim 1, wherein the set of materials includes materials related to a plurality of subject areas.
 22. The navigation system of claim 1, wherein the set of materials includes a subset of the materials, the subset being integrally navigable, a portion of the materials in the set of materials being assigned to the subset.
 23. The navigation system of claim 22, wherein the interface is adapted to provide a plurality of transitions related to the subset of materials.
 24. The navigation system of claim 22, wherein the set of materials includes a plurality of subsets, each of the plurality of subsets being independently integrally navigable, a portion of the materials in the set of materials being assigned to each subset, at least one of the materials being assigned to more than one subset.
 25. The navigation system of claim 1, further including a profile for each of the materials in the set of materials, the profile including a set of attribute-value pairs.
 26. The navigation system of claim 25, the profile further including descriptive information.
 27. The navigation system of claim 1, the interface including a human user interface.
 28. The navigation system of claim 1, the interface including an applications program interface.
 29. The navigation system of claim 1, wherein the interface is operable in a World Wide Web-based environment.
 30. The navigation system of claim 1, wherein the interface is operable in an XML-based environment.
 31. The navigation system of claim 1, wherein the interface supplements the functionality of an independent data-oriented program.
 32. The navigation system of claim 1, the interface including a guided search tool for enabling navigation from a current navigation state based on the plurality of transitions among the plurality of navigation states.
 33. The navigation system of claim 32, the interface including a free-text search tool for searching the attributes.
 34. The navigation system of claim 32, the interface including a free-text search tool for searching the values.
 35. The navigation system of claim 32, further including a profile for each of the materials in the set of materials, the profile including descriptive information, the interface including a free-text search tool for searching the descriptive information in the profiles.
 36. The navigation system of claim 32, the interface including access to the materials in the set of materials.
 37. The navigation system of claim 32, the interface including a presentation of attribute-value pairs corresponding to the current navigation state.
 38. The navigation state of claim 37, the presentation of attribute-value pairs corresponding to the current navigation state including user-selected attribute-value pairs and inferred attribute-value pairs, the interface including an indication of user-selected attribute-value pairs and of inferred attribute-value pairs.
 39. The navigation system of claim 37, the presentation of attribute-value pairs corresponding to the current navigation state including only mutually incomparable attribute-value pairs.
 40. The navigation system of claim 37, wherein the presentation organizes the attribute-value pairs corresponding to the current navigation state by attribute.
 41. The navigation system of claim 37, wherein the presentation organizes the attribute-value pairs corresponding to the current navigation state by more general attribute-value pairs.
 42. The navigation system of claim 32, the guided search tool including a presentation of navigation options for selection from the current navigation state, the options corresponding to transitions from the current navigation state.
 43. The navigation system of claim 42, the navigation options including attribute-value pairs that are refinements of the attribute-value pairs corresponding to the current navigation state.
 44. The navigation system of claim 43, wherein the options include a presentation of a set of lists of attribute-value pairs, each list corresponding to one of the attributes, some lists including attribute-value pairs that refine the attribute-value pairs corresponding to the current navigation state and some lists including attribute-value pairs that are incomparable to the attribute-value pairs corresponding to the current navigation state.
 45. The navigation system of claim 42, the navigation options including disjunctive selection of attribute-value pairs.
 46. The navigation system of claim 45, wherein the disjunctive selection options include a second attribute-value pair that corresponds to an attribute for which a first corresponding attribute-value has previously been selected, the second attribute-value pair being mutually incomparable to the first.
 47. The navigation system of claim 42, the navigation options including negational selection of attribute-value pairs.
 48. The navigation system of claim 42, wherein the presentation organizes the navigation options by attribute.
 49. The navigation system of claim 42, wherein the presentation organizes the navigation options by more general attribute-value pairs.
 50. The navigation system of claim 42, the navigation options including attribute-value pairs that are incomparable to the attribute-value pairs corresponding to the current navigation state.
 51. The navigation system of claim 42, the navigation options including attribute-value pairs that are generalizations of the attribute-value pairs corresponding to the current navigation state.
 52. The navigation system of claim 42, the navigation options including deselection of attribute-value pairs from the expression of attribute-value pairs corresponding to the current navigation state.
 53. The navigation system of claim 42, the navigation options further including a link to an associated navigation state.
 54. The navigation system of claim 53, wherein the associated navigation state is a generalization of the present navigation state.
 56. The navigation system of claim 53, wherein the associated navigation state is a refinement of the present navigation state.
 57. The navigation system of claim 53, wherein the link corresponds to a path of two or more transitions.
 58. A method for enabling a user to browse a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, comprising the steps of: defining a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials; providing an interface, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states; providing a display of transitions for selection; accepting a selection of a transition; obtaining a result navigation state associated with the selected transition; and providing a revised display of transitions in the result navigation state for selection.
 59. The method of claim 58, wherein the step of providing a display of transitions for selection includes at least one transition that corresponds to conjunctive selection of an attribute-value pair.
 60. The method of claim 58, wherein the step of providing a display of transitions for selection includes at least one transition that corresponds to disjunctive selection of an attribute-value pair.
 61. The method of claim 58, wherein the step of providing a display of transitions for selection includes at least one transition that corresponds to negational selection of an attribute-value pair.
 62. The method of claim 58, wherein the step of providing a display of transitions for selection includes providing a display of attribute-value pairs, wherein attribute-value pairs in the display can be related by Boolean operators.
 63. The method of claim 62, wherein the step of providing a display includes organizing the attribute-value pairs by attribute.
 64. The method of claim 58, wherein the step of accepting a selection of a transition includes accepting a selection of an attribute-value pair.
 65. The method of claim 64, wherein the step of accepting the selection of an attribute-value pair triggers the step of obtaining a result navigation state.
 66. The method of claim 58, wherein the step of providing a revised display of transitions includes providing a display of a revised set of attribute-value pairs, wherein attribute-value pairs in the revised set can be related by conjunction, disjunction, and negation.
 67. The method of claim 66, wherein the step of providing a display of a revised set of attribute-value pairs includes providing a display of, for the previously selected attribute-value pair, a set of refining attribute-value pairs.
 68. The method of claim 66, wherein the step of providing a display of a revised set of attribute-value pairs includes organizing the attribute-value pairs by more general attribute-value pairs.
 69. The method of claim 66, wherein the step of providing a revised display includes adding an attribute previously unrepresented in the display.
 70. The method of claim 58, further including the steps of accepting an additional selected attribute-value pair and obtaining an additional result navigation state associated with the selected attribute-value pair and the additional selected attribute-value pair.
 71. The method of claim 70, wherein the additional selected attribute-value pair is associated with a different attribute than the selected attribute-value pair.
 72. The method of claim 58, further including the step of displaying a list of previously selected attribute-value pairs.
 73. The method of claim 72, further including the steps of accepting the deselection of a selected attribute-value pair and obtaining a revised result navigation state.
 74. A method for enabling a user to browse a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, a plurality of navigation states, each navigation state corresponding to an expression of particular attribute-value pairs and to a particular subset of materials, an interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states, comprising the steps of: displaying a free-text search box; accepting a search term entered in the free-text search box; determining the attribute-value pairs that match the search term; displaying the matching attribute-value pairs for the search term; accepting a selection of a matching attribute-value pair; and entering a navigation state having a corresponding expression that relates to the selection of the matching attribute-value pair.
 75. A method for providing an information navigation system, the information navigation system including a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials, comprising the steps of: computing the navigation states; storing the navigation states in a data structure; providing an interface to the information navigation system, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states; accepting a query to the navigation system; and returning a responsive navigation state by retrieving a responsive precomputed navigation state or computing a responsive navigation state.
 76. The method of claim 75, wherein the data structure is a graph data structure including nodes and edges between nodes, the nodes representing navigation states, the edges representing transitions.
 77. A method of providing an information navigation system, the information navigation system including a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials, comprising the steps of: generating a partial set of pre-computed navigation states; storing the partial set of pre-computed navigation states; providing an interface to the information navigation system, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states; accepting a query to the navigation system; and returning a responsive navigation state by retrieving a responsive precomputed navigation state or computing a responsive navigation state.
 78. The method of claim 77, wherein the step of returning a responsive navigation state includes returning a navigation state computed by a plurality of servers acting in parallel.
 79. The method of claim 78, further including the step of partitioning the materials among the plurality of servers.
 80. The method of claim 79, wherein the plurality of servers are nested hierarchically.
 81. The method of claim 80, wherein a root server of the plurality of servers acts as a master server and some of the plurality of servers act as slave servers, further including the steps of the master server distributing a request for a navigation state on to a plurality of slave servers, the slave servers computing navigation states for those requests and returning the results to the master server, and the master server combining the results from the slave servers to obtain a navigation state corresponding to the request.
 82. The method of claim 81, wherein the combining step includes computing least common ancestors of attribute-value pairs corresponding to the navigation states returned by the slave servers.
 83. A method of providing an information navigation system, the information navigation system including a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials, comprising the steps of: storing the navigation states in an implicit representation; providing an interface to the navigation system, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states; accepting a query to the navigation system; generating a responsive navigation state from the implicit representation; and presenting the responsive navigation state.
 84. The method of claim 83, wherein the step of generating a responsive navigation state includes computing a responsive navigation state using a plurality of servers acting in parallel.
 85. The method of claim 84, further including the step of partitioning the materials among the plurality of servers.
 86. The method of claim 85, wherein the plurality of servers are nested hierarchically.
 87. The method of claim 86, wherein a root server of the plurality of servers acts as a master server and some of the plurality of servers act as slave servers, further including the steps of the master server distributing a request for a navigation state on to a plurality of slave servers, the slave servers computing navigation states for those requests and returning the results to the master server, and the master server combining the results from the slave servers to obtain a navigation state corresponding to the request.
 88. The method of claim 87, wherein the combining step includes the computation of least common ancestors of attribute-value pairs corresponding to the navigation states returned by the slave servers.
 89. The method of claim 83, further including the step of storing the responsive navigation state in a cache.
 90. A method for profiling a user of a navigation system, comprising the steps of: providing a navigation system, the navigation system including a set of materials, a plurality of attributes characterizing the materials, a plurality of values describing the materials, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute-value pairs, a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials, and an interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represent a change from the expression of attribute-value pairs corresponding to an originating navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states, the transitions being selectable by attribute-value pairs; accepting the user's selection of attribute-value pairs to navigate through the plurality of navigation states; and tracking the user's selection of attribute-value pairs.
 91. The method of claim 90, further including the step of developing a user profile based on the user's selection of attribute-value pairs.
 92. The method of claim 91, wherein the step of developing a user profile further includes the step of supplementing the user profile based on the attribute-value pairs corresponding to the navigation states visited by the user.
 93. A computer program product, residing on a computer readable medium, for use in navigating a set of materials, in which the materials are characterized by a plurality of attributes, and the materials are described by a plurality of values, each of the values having an association with at least one of the attributes, each association defining an attribute-value pair, some of the attribute-value pairs refining other of the attribute value pairs, the computer program product comprising instructions for causing a computer to: define a plurality of navigation states, each navigation state corresponding to a particular expression of attribute-value pairs and to a particular subset of the materials; provide an interface, the interface providing a plurality of transitions, each transition providing a direct path between two of the navigation states, wherein each transition represents a change from the expression of attribute-value pairs corresponding to an originating navigation state to the expression of attribute-value pairs corresponding to a destination navigation state, wherein a series of one or more transitions provides a path between any two navigation states, there being more than one path between at least a first of the navigation states and a second of the navigation states; accept a selection of a transition; and provide a result navigation state associated with the selected transition. 